﻿#pragma once

#include"Core.h"
#include<glm/glm.hpp>
#include "glad/glad.h"

namespace ArsEngine
{
	class Shader
	{
	public:
		Shader(const char* vertexShader, const char* fragmentShader);
		~Shader();

		void Bind() const;
		void Unbind() const;

		//   void SetUniform1i(const std::string& name, int value) const;
		 //  void SetUniform1f(const std::string& name, float value) const;
		 //  void SetUniform2f(const std::string& name, const glm::vec2& value) const;
		  // void SetUniform3f(const std::string& name, const glm::vec3& value) const;
		 //  void SetUniform4f(const std::string& name, const glm::vec4& value) const;
		void SetUniformMat4f(const std::string& name, const glm::mat4& value) const;

	private:
		unsigned int m_RendererID;
	};
}
